package com.hxexp.weixin.mvc.refund.service;

import java.util.List;

import com.hxexp.weixin.common.exception.ServiceException;
import com.hxexp.weixin.hpe.api.returnamount.model.ReturnAmountResultBean;
import com.hxexp.weixin.mvc.refund.model.RefundInfoBean;
import com.hxexp.weixin.mvc.refund.model.TicketInfoBean;

/**
 * 退票接口
 *
 * @author wang.bin
 * @author li.jiang
 */
public interface RefundService {

    /**
     * 可退金额
     *
     * @param ticketInfoList
     *            车票信息列表
     * @return 可退金额结果
     * @throws ServiceException
     */
    public ReturnAmountResultBean getReturnAmount(List<TicketInfoBean> ticketInfoList) throws ServiceException;

    /**
     * 退票
     *
     * @param checkedTicketInfoList
     *            已选中车票信息列表
     * @param orderId
     *            订单号
     * @param stationId
     *            出发车站编号
     * @return 退票结果列表(0:退票成功，13：重复退票，退票失败)
     * @throws ServiceException
     */
    public List<RefundInfoBean> refund(List<TicketInfoBean> checkedTicketInfoList, String orderId, String stationId)
            throws ServiceException;
}
